In the era of the open source projects, new software libraries and APIs are created in large volumes. One challenge relating to these new software libraries and API's is how to automatically detect replaceable segments of source code in the existing systems. Detection of similar code segments can also be used to help developers understand and maintain systems, and to identify code plagiarism. Although it is useful to identify syntactically similar code fragments (called code clones), it is also useful to identify processes/programs that have similar behavior, even if their code is not necessarily alike.